package br.com.vendaext.gerencial.apresentacao;

import java.util.Collection;

import org.primefaces.component.datatable.DataTable;
import org.primefaces.event.SelectEvent;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Controller;

import br.com.vendaext.gerencial.entidades.Perfil;
import br.com.vendaext.gerencial.entidades.Usuario;
import br.com.vendaext.gerencial.integracao.PerfilDAO;
import br.com.vendaext.gerencial.integracao.UsuarioDAO;

//@Named
@Controller
@Scope("session")
public class UsuarioHome extends GenericHome<Usuario>{
	
	PerfilDAO pDAO;
	
	DataTable lovPerfil;
	
	Perfil perfil;
	
	
	Collection<Perfil> listaPerfil;
	
	@Autowired 
	public void setpDAO(PerfilDAO pDAO) {
		this.pDAO = pDAO;
	}
	
	public UsuarioHome() {
		setEntidade(new Usuario());
	}
	
	@Autowired
	public void setDaoPrincipal(UsuarioDAO daoPrincipal) {
		super.setDaoPrincipal(daoPrincipal);
	}
	
	public Collection<Perfil> getListaPerfil() {
		return  pDAO.listar();		
	}
	
	public void selecionaNaLov(SelectEvent ev){
		if(ev.getComponent().equals(lovPerfil)){
			Perfil p = (Perfil) ((DataTable)ev.getComponent()).getRowData();
			getEntidade().setPerfil(p);
		}
	}
	
	

	public DataTable getLovPerfil() {
		return lovPerfil;
	}

	public void setLovPerfil(DataTable lovPerfil) {
		this.lovPerfil = lovPerfil;
	}

	@Override
	public void limparTela() {
		setEntidade(new Usuario());		
	}

	@Override
	public void checaRestricoes() {
		if(getEntidade().getCpf()==null || getEntidade().getCpf().trim().equals("")){
			addError("", "Campo CPF obrigatório");
			throw new Error("");
		}
			
	}

}

